home *** CD-ROM | disk | FTP | other *** search
/ ETO Development Tools 4 / ETO Development Tools 4.iso / Tools - Objects / MacApp / MacApp 3.0a2 / CPlusIncludes / Files.h < prev    next >
Text File  |  1991-05-01  |  54KB  |  1,517 lines

  1. /************************************************************
  2.  
  3. Created: Tuesday, February 5, 1991 at 5:25 PM
  4.     Files.h
  5.     C Interface to the Macintosh Libraries
  6.  
  7.  
  8.         Copyright Apple Computer, Inc.    1985-1990
  9.         All rights reserved
  10.  
  11. ************************************************************/
  12.  
  13.  
  14. #ifndef __FILES__
  15. #define __FILES__
  16.  
  17. #ifndef __TYPES__
  18. #include <Types.h>
  19. #endif
  20.  
  21. #ifndef __GEOMETRY__
  22. #include <Geometry.h>
  23. #endif
  24.  
  25. #ifndef __OSUTILS__
  26. #include <OSUtils.h>
  27. #endif
  28.  
  29. #ifndef __SEGLOAD__
  30. #include <SegLoad.h>
  31. #endif
  32.  
  33.  
  34. enum {
  35.  
  36.  
  37. /* Finder Constants */
  38.     fsAtMark = 0,
  39.     fOnDesk = 1,
  40.     fsCurPerm = 0,
  41.     fHasBundle = 8192,
  42.     fsRdPerm = 1,
  43.     fInvisible = 16384,
  44.     fTrash = -3,
  45.     fsWrPerm = 2,
  46.     fDesktop = -2,
  47.     fsRdWrPerm = 3,
  48.     fDisk = 0,
  49.     fsRdWrShPerm = 4,
  50.     fsFromStart = 1,
  51.     fsFromLEOF = 2,
  52.     fsFromMark = 3,
  53.     rdVerify = 64,
  54.     ioDirFlg = 3,            /* see IM IV-125 */
  55.     ioDirMask = 0x10,
  56.     fsRtParID = 1,
  57.     fsRtDirID = 2
  58. };
  59. enum {
  60.  
  61. /* masks for SpecBits values */
  62.     fsSBPartialName = 1,
  63.     fsSBFullName = 2,
  64.     fsSBFlAttrib = 4,
  65.     fsSBFlFndrInfo = 8,
  66.     fsSBFlLgLen = 32,
  67.     fsSBFlPyLen = 64,
  68.     fsSBFlRLgLen = 128,
  69.     fsSBFlRPyLen = 256,
  70.     fsSBFlCrDat = 512,
  71.     fsSBFlMdDat = 1024,
  72.     fsSBFlBkDat = 2048,
  73.     fsSBFlXFndrInfo = 4096,
  74.     fsSBFlParID = 8192,
  75.     fsSBNegate = 16384,
  76.     fsSBDrUsrWds = 8,
  77.     fsSBDrNmFls = 16,
  78.     fsSBDrCrDat = 512,
  79.     fsSBDrMdDat = 1024,
  80.     fsSBDrBkDat = 2048,
  81.     fsSBDrFndrInfo = 4096
  82. };
  83. enum {
  84.     fsSBDrParID = 8192,
  85.  
  86. /* vMAttrib (GetVolParms) bit position constants */
  87.     bLimitFCBs = 31,
  88.     bLocalWList = 30,
  89.     bNoMiniFndr = 29,
  90.     bNoVNEdit = 28,
  91.     bNoLclSync = 27,
  92.     bTrshOffLine = 26,
  93.     bNoSwitchTo = 25,
  94.     bNoDeskItems = 20,
  95.     bNoBootBlks = 19,
  96.     bAccessCntl = 18,
  97.     bNoSysDir = 17,
  98.     bHasExtFSVol = 16,
  99.     bHasOpenDeny = 15,
  100.     bHasCopyFile = 14,
  101.     bHasMoveRename = 13,
  102.     bHasDesktopMgr = 12,
  103.     bHasShortName = 11,
  104.     bHasFolderLock = 10,
  105.     bHasPersonalAccessPrivileges = 9
  106. };
  107. enum {
  108.     bHasUserGroupList = 8,
  109.     bHasCatSearch = 7,
  110.     bHasFileIDs = 6,
  111.     bHasBTreeMgr = 5,
  112.     bHasBlankAccessPrivileges = 4,
  113.  
  114. /* Desktop Database icon Constants */
  115.     kLargeIcon = 1,
  116.     kLarge4BitIcon = 2,
  117.     kLarge8BitIcon = 3,
  118.     kSmallIcon = 4,
  119.     kSmall4BitIcon = 5,
  120.     kSmall8BitIcon = 6,
  121.  
  122.     kLargeIconSize = 256,
  123.     kLarge4BitIconSize = 512,
  124.     kLarge8BitIconSize = 1024,
  125.     kSmallIconSize = 64,
  126.     kSmall4BitIconSize = 128,
  127.     kSmall8BitIconSize = 256,
  128.  
  129. /* foreign privilege model identifiers */
  130.     fsUnixPriv = 1,
  131.  
  132. /* Version Release Stage Codes */
  133.     developStage = 0x20,
  134.     alphaStage = 0x40
  135. };
  136. enum {
  137.     betaStage = 0x60,
  138.     finalStage = 0x80,
  139.  
  140. /* Authentication Constants */
  141.     kNoUserAuthentication = 1,
  142.     kPassword = 2,
  143.     kEncryptPassword = 3,
  144.     kTwoWayEncryptPassword = 6
  145. };
  146.  
  147. enum {hFileInfo,dirInfo};
  148. typedef unsigned char CInfoType;
  149.  
  150.  
  151. struct FInfo {
  152.     OSType fdType;                      /*the type of the file*/
  153.     OSType fdCreator;                   /*file's creator*/
  154.     unsigned short fdFlags;             /*flags ex. hasbundle,invisible,locked, etc.*/
  155.     SimplePoint fdLocation;             /*file's location in folder*/
  156.     short fdFldr;                       /*folder containing file*/
  157. };
  158.  
  159. typedef struct FInfo FInfo;
  160.  
  161. struct FXInfo {
  162.     short fdIconID;                     /* Icon ID*/
  163.     short fdUnused[3];                  /*unused but reserved 6 bytes*/
  164.     char fdScript;                      /* Script flag and number */
  165.     char fdXFlags;
  166.     short fdComment;                    /* Comment ID*/
  167.     long fdPutAway;                     /* Home Dir ID*/
  168. };
  169.  
  170. typedef struct FXInfo FXInfo;
  171.  
  172. struct DInfo {
  173.     SimpleRect frRect;                  /*folder rect*/
  174.     unsigned short frFlags;             /*Flags*/
  175.     SimplePoint frLocation;             /*folder location*/
  176.     short frView;                       /*folder view*/
  177. };
  178.  
  179. typedef struct DInfo DInfo;
  180.  
  181. struct DXInfo {
  182.     SimplePoint frScroll;               /*scroll position*/
  183.     long frOpenChain;                   /*DirID chain of open folders*/
  184.     char frScript;                      /* Script flag and number */
  185.     char frXFlags;
  186.     short frComment;                    /*comment*/
  187.     long frPutAway;                     /*DirID*/
  188. };
  189.  
  190. typedef struct DXInfo DXInfo;
  191.  
  192. struct GetVolParmsInfoBuffer {
  193.     short vMVersion;                    /*version number*/
  194.     long vMAttrib;                      /*bit vector of attributes (see vMAttrib constants)*/
  195.     Handle vMLocalHand;                 /*handle to private data*/
  196.     long vMServerAdr;                   /*AppleTalk server address or zero*/
  197.     long vMVolumeGrade;                 /*approx. speed rating or zero if unrated*/
  198.     short vMForeignPrivID;              /*foreign privilege model supported or zero if none*/
  199. };
  200.  
  201. typedef struct GetVolParmsInfoBuffer GetVolParmsInfoBuffer;
  202.  
  203. #define ParamBlockHeader \
  204.     QElemPtr qLink;                     /*queue link in header*/\
  205.     short qType;                        /*type byte for safety check*/\
  206.     short ioTrap;                       /*FS: the Trap*/\
  207.     Ptr ioCmdAddr;                      /*FS: address to dispatch to*/\
  208.     ProcPtr ioCompletion;               /*completion routine addr (0 for synch calls)*/\
  209.     OSErr ioResult;                     /*result code*/\
  210.     StringPtr ioNamePtr;                /*ptr to Vol:FileName string*/\
  211.     short ioVRefNum;                    /*volume refnum (DrvNum for Eject and MountVol)*/
  212.  
  213.  
  214. struct IOParam {
  215.     ParamBlockHeader 
  216.     short ioRefNum;                     /*refNum for I/O operation*/
  217.     char ioVersNum;                     /*version number*/
  218.     char ioPermssn;                     /*Open: permissions (byte)*/
  219.     Ptr ioMisc;                         /*Rename: new name (GetEOF,SetEOF: logical end of file) (Open: optional ptr to buffer) (SetFileType: new type)*/
  220.     Ptr ioBuffer;                       /*data buffer Ptr*/
  221.     long ioReqCount;                    /*requested byte count; also = ioNewDirID*/
  222.     long ioActCount;                    /*actual byte count completed*/
  223.     short ioPosMode;                    /*initial file positioning*/
  224.     long ioPosOffset;                   /*file position offset*/
  225. };
  226.  
  227. typedef struct IOParam IOParam;
  228.  
  229. struct FileParam {
  230.     ParamBlockHeader 
  231.     short ioFRefNum;                    /*reference number*/
  232.     char ioFVersNum;                    /*version number*/
  233.     char filler1;
  234.     short ioFDirIndex;                  /*GetFInfo directory index*/
  235.     unsigned char ioFlAttrib;           /*GetFInfo: in-use bit=7, lock bit=0*/
  236.     unsigned char ioFlVersNum;          /*file version number*/
  237.     FInfo ioFlFndrInfo;                 /*user info*/
  238.     unsigned long ioFlNum;              /*GetFInfo: file number; TF- ioDirID*/
  239.     unsigned short ioFlStBlk;           /*start file block (0 if none)*/
  240.     long ioFlLgLen;                     /*logical length (EOF)*/
  241.     long ioFlPyLen;                     /*physical length*/
  242.     unsigned short ioFlRStBlk;          /*start block rsrc fork*/
  243.     long ioFlRLgLen;                    /*file logical length rsrc fork*/
  244.     long ioFlRPyLen;                    /*file physical length rsrc fork*/
  245.     unsigned long ioFlCrDat;            /*file creation date& time (32 bits in secs)*/
  246.     unsigned long ioFlMdDat;            /*last modified date and time*/
  247. };
  248.  
  249. typedef struct FileParam FileParam;
  250.  
  251. struct VolumeParam {
  252.     ParamBlockHeader 
  253.     long filler2;
  254.     short ioVolIndex;                   /*volume index number*/
  255.     unsigned long ioVCrDate;            /*creation date and time*/
  256.     unsigned long ioVLsBkUp;            /*last backup date and time*/
  257.     unsigned short ioVAtrb;             /*volume attrib*/
  258.     unsigned short ioVNmFls;            /*number of files in directory*/
  259.     unsigned short ioVDirSt;            /*start block of file directory*/
  260.     short ioVBlLn;                      /*GetVolInfo: length of dir in blocks*/
  261.     unsigned short ioVNmAlBlks;         /*GetVolInfo: num blks (of alloc size)*/
  262.     long ioVAlBlkSiz;                   /*GetVolInfo: alloc blk byte size*/
  263.     long ioVClpSiz;                     /*GetVolInfo: bytes to allocate at a time*/
  264.     unsigned short ioAlBlSt;            /*starting disk(512-byte) block in block map*/
  265.     unsigned long ioVNxtFNum;           /*GetVolInfo: next free file number*/
  266.     unsigned short ioVFrBlk;            /*GetVolInfo: # free alloc blks for this vol*/
  267. };
  268.  
  269. typedef struct VolumeParam VolumeParam;
  270.  
  271. struct CntrlParam {
  272.     QElem *qLink;                       /*queue link in header*/
  273.     short qType;                        /*type byte for safety check*/
  274.     short ioTrap;                       /*FS: the Trap*/
  275.     Ptr ioCmdAddr;                      /*FS: address to dispatch to*/
  276.     ProcPtr ioCompletion;               /*completion routine addr (0 for synch calls)*/
  277.     OSErr ioResult;                     /*result code*/
  278.     StringPtr ioNamePtr;                /*ptr to Vol:FileName string*/
  279.     short ioVRefNum;                    /*volume refnum (DrvNum for Eject and MountVol)*/
  280.     short ioCRefNum;                    /*refNum for I/O operation*/
  281.     short csCode;                       /*word for control status code*/
  282.     short csParam[11];                  /*operation-defined parameters*/
  283. };
  284.  
  285. typedef struct CntrlParam CntrlParam;
  286.  
  287. struct SlotDevParam {
  288.     ParamBlockHeader 
  289.     short ioRefNum;
  290.     char ioVersNum;
  291.     char ioPermssn;
  292.     Ptr ioMix;
  293.     short ioFlags;
  294.     char ioSlot;
  295.     char ioID;
  296. };
  297.  
  298. typedef struct SlotDevParam SlotDevParam;
  299.  
  300. struct MultiDevParam {
  301.     ParamBlockHeader 
  302.     short ioRefNum;
  303.     char ioVersNum;
  304.     char ioPermssn;
  305.     Ptr ioMix;
  306.     short ioFlags;
  307.     Ptr ioSEBlkPtr;
  308. };
  309.  
  310. typedef struct MultiDevParam MultiDevParam;
  311.  
  312. union ParamBlockRec {
  313.     IOParam ioParam;
  314.     FileParam fileParam;
  315.     VolumeParam volumeParam;
  316.     CntrlParam cntrlParam;
  317.     SlotDevParam slotDevParam;
  318.     MultiDevParam multiDevParam;
  319. };
  320.  
  321. typedef union ParamBlockRec ParamBlockRec;
  322. typedef ParamBlockRec *ParmBlkPtr;
  323.  
  324. struct HFileInfo {
  325.     ParamBlockHeader 
  326.     short ioFRefNum;
  327.     char ioFVersNum;
  328.     char filler1;
  329.     short ioFDirIndex;
  330.     char ioFlAttrib;
  331.     char filler2;
  332.     FInfo ioFlFndrInfo;
  333.     long ioDirID;
  334.     unsigned short ioFlStBlk;
  335.     long ioFlLgLen;
  336.     long ioFlPyLen;
  337.     unsigned short ioFlRStBlk;
  338.     long ioFlRLgLen;
  339.     long ioFlRPyLen;
  340.     unsigned long ioFlCrDat;
  341.     unsigned long ioFlMdDat;
  342.     unsigned long ioFlBkDat;
  343.     FXInfo ioFlXFndrInfo;
  344.     long ioFlParID;
  345.     long ioFlClpSiz;
  346. };
  347.  
  348. typedef struct HFileInfo HFileInfo;
  349.  
  350. struct DirInfo {
  351.     ParamBlockHeader 
  352.     short ioFRefNum;
  353.     short filler1;
  354.     short ioFDirIndex;
  355.     char ioFlAttrib;
  356.     char filler2;
  357.     DInfo ioDrUsrWds;
  358.     long ioDrDirID;
  359.     unsigned short ioDrNmFls;
  360.     short filler3[9];
  361.     unsigned long ioDrCrDat;
  362.     unsigned long ioDrMdDat;
  363.     unsigned long ioDrBkDat;
  364.     DXInfo ioDrFndrInfo;
  365.     long ioDrParID;
  366. };
  367.  
  368. typedef struct DirInfo DirInfo;
  369.  
  370. union CInfoPBRec {
  371.     HFileInfo hFileInfo;
  372.     DirInfo dirInfo;
  373. };
  374.  
  375. typedef union CInfoPBRec CInfoPBRec;
  376. typedef CInfoPBRec *CInfoPBPtr;
  377.  
  378. struct HIOParam {
  379.     ParamBlockHeader 
  380.     short ioRefNum;
  381.     char ioVersNum;
  382.     char ioPermssn;
  383.     Ptr ioMisc;
  384.     Ptr ioBuffer;
  385.     long ioReqCount;
  386.     long ioActCount;
  387.     short ioPosMode;
  388.     long ioPosOffset;
  389.     short filler1;
  390. };
  391.  
  392. typedef struct HIOParam HIOParam;
  393.  
  394. struct HFileParam {
  395.     ParamBlockHeader 
  396.     short ioFRefNum;
  397.     char ioFVersNum;
  398.     char filler1;
  399.     short ioFDirIndex;
  400.     char ioFlAttrib;
  401.     char ioFlVersNum;
  402.     FInfo ioFlFndrInfo;
  403.     long ioDirID;
  404.     unsigned short ioFlStBlk;
  405.     long ioFlLgLen;
  406.     long ioFlPyLen;
  407.     unsigned short ioFlRStBlk;
  408.     long ioFlRLgLen;
  409.     long ioFlRPyLen;
  410.     unsigned long ioFlCrDat;
  411.     unsigned long ioFlMdDat;
  412. };
  413.  
  414. typedef struct HFileParam HFileParam;
  415.  
  416. struct HVolumeParam {
  417.     ParamBlockHeader 
  418.     long filler2;
  419.     short ioVolIndex;
  420.     unsigned long ioVCrDate;
  421.     unsigned long ioVLsMod;
  422.     short ioVAtrb;
  423.     unsigned short ioVNmFls;
  424.     short ioVBitMap;
  425.     short ioAllocPtr;
  426.     unsigned short ioVNmAlBlks;
  427.     long ioVAlBlkSiz;
  428.     long ioVClpSiz;
  429.     short ioAlBlSt;
  430.     long ioVNxtCNID;
  431.     unsigned short ioVFrBlk;
  432.     unsigned short ioVSigWord;
  433.     short ioVDrvInfo;
  434.     short ioVDRefNum;
  435.     short ioVFSID;
  436.     unsigned long ioVBkUp;
  437.     unsigned short ioVSeqNum;
  438.     long ioVWrCnt;
  439.     long ioVFilCnt;
  440.     long ioVDirCnt;
  441.     long ioVFndrInfo[8];
  442. };
  443.  
  444. typedef struct HVolumeParam HVolumeParam;
  445.  
  446. struct AccessParam {
  447.     ParamBlockHeader 
  448.     short filler3;
  449.     short ioDenyModes;                  /*access rights data*/
  450.     short filler4;
  451.     char filler5;
  452.     char ioACUser;                      /*access rights for directory only*/
  453.     long filler6;
  454.     long ioACOwnerID;                   /*owner ID*/
  455.     long ioACGroupID;                   /*group ID*/
  456.     long ioACAccess;                    /*access rights*/
  457. };
  458.  
  459. typedef struct AccessParam AccessParam;
  460.  
  461. struct ObjParam {
  462.     ParamBlockHeader 
  463.     short filler7;
  464.     short ioObjType;                    /*function code*/
  465.     StringPtr ioObjNamePtr;             /*ptr to returned creator/group name*/
  466.     long ioObjID;                       /*creator/group ID*/
  467.     long ioReqCount;                    /*size of buffer area*/
  468.     long ioActCount;                    /*length of vol parms data*/
  469. };
  470.  
  471. typedef struct ObjParam ObjParam;
  472.  
  473. struct CopyParam {
  474.     ParamBlockHeader 
  475.     short ioDstVRefNum;                 /*destination vol identifier*/
  476.     short filler8;
  477.     StringPtr ioNewName;                /*ptr to destination pathname*/
  478.     StringPtr ioCopyName;               /*ptr to optional name*/
  479.     long ioNewDirID;                    /*destination directory ID*/
  480.     long filler14;
  481.     long filler15;
  482.     long ioDirID;                       /*same as in FileParam*/
  483. };
  484.  
  485. typedef struct CopyParam CopyParam;
  486.  
  487. struct WDParam {
  488.     ParamBlockHeader 
  489.     short filler9;
  490.     short ioWDIndex;
  491.     long ioWDProcID;
  492.     short ioWDVRefNum;
  493.     short filler10;
  494.     long filler11;
  495.     long filler12;
  496.     long filler13;
  497.     long ioWDDirID;
  498. };
  499.  
  500. typedef struct WDParam WDParam;
  501.  
  502. /* Catalog position record */
  503. struct FIDParam {
  504.     ParamBlockHeader 
  505.     long filler1;
  506.     StringPtr ioDestNamePtr;            /* dest file name */
  507.     long filler2;
  508.     long ioDestDirID;                   /* dest file's directory id */
  509.     long filler3;
  510.     long filler4;
  511.     long ioSrcDirID;                    /* source file's directory id */
  512.     short filler5;
  513.     long ioFileID;                      /* file ID */
  514. };
  515.  
  516. typedef struct FIDParam FIDParam;
  517.  
  518. struct CatPositionRec {
  519.     long initialize;
  520.     short priv[6];
  521. };
  522.  
  523. typedef struct CatPositionRec CatPositionRec;
  524.  
  525. struct FSSpec {
  526.     short vRefNum;
  527.     long parID;
  528.     Str63 name;
  529. };
  530.  
  531. typedef FSSpec *FSSpecPtr, **FSSpecHandle;
  532.  
  533. typedef FSSpecPtr FSSpecArrayPtr;       /* pointer to array of FSSpecs */
  534.  
  535.  
  536. /*    The following are structures to be filled out with the _GetVolMountInfo call
  537.     and passed back into the _VolumeMount call for external file system mounts.*/
  538.  
  539. typedef OSType VolumeType;
  540.  
  541.  
  542.  
  543.  
  544. #define AppleShareMediaType 'afpm'      /* the signature for AppleShare */
  545.  
  546. struct VolMountInfoHeader {
  547.     short length;                       /* length of location data (including self) */
  548.     VolumeType media;                   /* type of media. variable length data follows */
  549. };
  550.  
  551. typedef struct VolMountInfoHeader VolMountInfoHeader;
  552. typedef VolMountInfoHeader *VolMountInfoPtr;
  553.  
  554. struct AFPVolMountInfo {
  555.     short length;                       /* length of location data (including self) */
  556.     VolumeType media;                   /* type of media */
  557.     short flags;                        /* bits for no messages, no reconnect */
  558.     char nbpInterval;                   /* NBP Interval parameter (IM2, p.322) */
  559.     char nbpCount;                      /* NBP Interval parameter (IM2, p.322) */
  560.     short uamType;                      /* User Authentication Method */
  561.     short zoneNameOffset;               /* short positive offset from start of struct to Zone Name */
  562.     short serverNameOffset;             /* offset to pascal Server Name string */
  563.     short volNameOffset;                /* offset to pascal Volume Name string */
  564.     short userNameOffset;               /* offset to pascal User Name string */
  565.     short userPasswordOffset;           /* offset to pascal User Password string */
  566.     short volPasswordOffset;            /* offset to pascal Volume Password string */
  567.     char AFPData[144];                    /* variable length data may follow */
  568. };
  569.  
  570. typedef struct AFPVolMountInfo AFPVolMountInfo;
  571. typedef AFPVolMountInfo *AFPVolMountInfoPtr;
  572.  
  573. struct CSParam {
  574.     ParamBlockHeader 
  575.     FSSpecPtr ioMatchPtr;               /* match array */
  576.     long ioReqMatchCount;               /* maximum allowable matches */
  577.     long ioActMatchCount;               /* actual match count */
  578.     long ioSearchBits;                  /* search criteria selector */
  579.     CInfoPBPtr ioSearchInfo1;           /* search values and range lower bounds */
  580.     CInfoPBPtr ioSearchInfo2;           /* search values and range upper bounds */
  581.     long ioSearchTime;                  /* length of time to run search */
  582.     CatPositionRec ioCatPosition;       /* current position in the catalog */
  583.     Ptr ioOptBuffer;                    /* optional performance enhancement buffer */
  584.     long ioOptBufSize;                  /* size of buffer pointed to by ioOptBuffer */
  585. };
  586.  
  587. typedef struct CSParam CSParam;
  588. typedef CSParam *CSParamPtr;
  589.  
  590. struct DTPBRec {
  591.     ParamBlockHeader 
  592.     short ioDTRefNum;                   /* desktop refnum */
  593.     short ioIndex;
  594.     long ioTagInfo;
  595.     Ptr ioDTBuffer;
  596.     long ioDTReqCount;
  597.     long ioDTActCount;
  598.     char ioFiller1;
  599.     char ioIconType;
  600.     short ioFiller2;
  601.     long ioDirID;
  602.     OSType ioFileCreator;
  603.     OSType ioFileType;
  604.     long ioFiller3;
  605.     long ioDTLgLen;
  606.     long ioDTPyLen;
  607.     short ioFiller4[14];
  608.     long ioAPPLParID;
  609. };
  610.  
  611. typedef struct DTPBRec DTPBRec;
  612. typedef DTPBRec *DTPBPtr;
  613.  
  614. struct ForeignPrivParam {
  615.     ParamBlockHeader 
  616.     long ioFiller1;
  617.     long ioFiller2;
  618.     Ptr ioForeignPrivBuffer;
  619.     long ioForeignPrivActCount;
  620.     long ioForeignPrivReqCount;
  621.     long ioFiller3;
  622.     long ioForeignPrivDirID;
  623.     long ioForeignPrivInfo1;
  624.     long ioForeignPrivInfo2;
  625.     long ioForeignPrivInfo3;
  626.     long ioForeignPrivInfo4;
  627. };
  628.  
  629. typedef struct ForeignPrivParam ForeignPrivParam;
  630. typedef ForeignPrivParam *ForeignPrivParamPtr;
  631.  
  632. union HParamBlockRec {
  633.     HIOParam ioParam;
  634.     HFileParam fileParam;
  635.     HVolumeParam volumeParam;
  636.     AccessParam accessParam;
  637.     ObjParam objParam;
  638.     CopyParam copyParam;
  639.     WDParam wdParam;
  640.     FIDParam fidParam;
  641.     CSParam csParam;
  642.     ForeignPrivParam foreignPrivParam;
  643. };
  644.  
  645. typedef union HParamBlockRec HParamBlockRec;
  646. typedef HParamBlockRec *HParmBlkPtr;
  647.  
  648. struct CMovePBRec {
  649.     QElemPtr qLink;
  650.     short qType;
  651.     short ioTrap;
  652.     Ptr ioCmdAddr;
  653.     ProcPtr ioCompletion;
  654.     OSErr ioResult;
  655.     StringPtr ioNamePtr;
  656.     short ioVRefNum;
  657.     long filler1;
  658.     StringPtr ioNewName;
  659.     long filler2;
  660.     long ioNewDirID;
  661.     long filler3[2];
  662.     long ioDirID;
  663. };
  664.  
  665. typedef struct CMovePBRec CMovePBRec;
  666. typedef CMovePBRec *CMovePBPtr;
  667.  
  668. struct WDPBRec {
  669.     QElemPtr qLink;
  670.     short qType;
  671.     short ioTrap;
  672.     Ptr ioCmdAddr;
  673.     ProcPtr ioCompletion;
  674.     OSErr ioResult;
  675.     StringPtr ioNamePtr;
  676.     short ioVRefNum;
  677.     short filler1;
  678.     short ioWDIndex;
  679.     long ioWDProcID;
  680.     short ioWDVRefNum;
  681.     short filler2[7];
  682.     long ioWDDirID;
  683. };
  684.  
  685. typedef struct WDPBRec WDPBRec;
  686. typedef WDPBRec *WDPBPtr;
  687.  
  688. struct FCBPBRec {
  689.     QElemPtr qLink;
  690.     short qType;
  691.     short ioTrap;
  692.     Ptr ioCmdAddr;
  693.     ProcPtr ioCompletion;
  694.     OSErr ioResult;
  695.     StringPtr ioNamePtr;
  696.     short ioVRefNum;
  697.     short ioRefNum;
  698.     short filler;
  699.     short ioFCBIndx;
  700.     short filler1;
  701.     long ioFCBFlNm;
  702.     short ioFCBFlags;
  703.     unsigned short ioFCBStBlk;
  704.     long ioFCBEOF;
  705.     long ioFCBPLen;
  706.     long ioFCBCrPs;
  707.     short ioFCBVRefNum;
  708.     long ioFCBClpSiz;
  709.     long ioFCBParID;
  710. };
  711.  
  712. typedef struct FCBPBRec FCBPBRec;
  713. typedef FCBPBRec *FCBPBPtr;
  714.  
  715. struct VCB {
  716.     QElemPtr qLink;
  717.     short qType;
  718.     short vcbFlags;
  719.     unsigned short vcbSigWord;
  720.     unsigned long vcbCrDate;
  721.     unsigned long vcbLsMod;
  722.     short vcbAtrb;
  723.     unsigned short vcbNmFls;
  724.     short vcbVBMSt;
  725.     short vcbAllocPtr;
  726.     unsigned short vcbNmAlBlks;
  727.     long vcbAlBlkSiz;
  728.     long vcbClpSiz;
  729.     short vcbAlBlSt;
  730.     long vcbNxtCNID;
  731.     unsigned short vcbFreeBks;
  732.     Str27 vcbVN;
  733.     short vcbDrvNum;
  734.     short vcbDRefNum;
  735.     short vcbFSID;
  736.     short vcbVRefNum;
  737.     Ptr vcbMAdr;
  738.     Ptr vcbBufAdr;
  739.     short vcbMLen;
  740.     short vcbDirIndex;
  741.     short vcbDirBlk;
  742.     unsigned long vcbVolBkUp;
  743.     unsigned short vcbVSeqNum;
  744.     long vcbWrCnt;
  745.     long vcbXTClpSiz;
  746.     long vcbCTClpSiz;
  747.     unsigned short vcbNmRtDirs;
  748.     long vcbFilCnt;
  749.     long vcbDirCnt;
  750.     long vcbFndrInfo[8];
  751.     unsigned short vcbVCSize;
  752.     unsigned short vcbVBMCSiz;
  753.     unsigned short vcbCtlCSiz;
  754.     unsigned short vcbXTAlBlks;
  755.     unsigned short vcbCTAlBlks;
  756.     short vcbXTRef;
  757.     short vcbCTRef;
  758.     Ptr vcbCtlBuf;
  759.     long vcbDirIDM;
  760.     short vcbOffsM;
  761. };
  762.  
  763. typedef struct VCB VCB;
  764.  
  765. struct DrvQEl {
  766.     QElemPtr qLink;
  767.     short qType;
  768.     short dQDrive;
  769.     short dQRefNum;
  770.     short dQFSID;
  771.     unsigned short dQDrvSz;
  772.     unsigned short dQDrvSz2;
  773. };
  774.  
  775. typedef struct DrvQEl DrvQEl;
  776. typedef DrvQEl *DrvQElPtr;
  777.  
  778. /*Numeric version part of 'vers' resource*/
  779. struct NumVersion {
  780.     unsigned char majorRev;             /*1st part of version number in BCD*/
  781.     unsigned int minorRev : 4;          /*2nd part is 1 nibble in BCD*/
  782.     unsigned int bugFixRev : 4;         /*3rd part is 1 nibble in BCD*/
  783.     unsigned char stage;                /*stage code: dev, alpha, beta, final*/
  784.     unsigned char nonRelRev;            /*revision level of non-released version*/
  785. };
  786.  
  787. typedef struct NumVersion NumVersion;
  788.  
  789. /*'vers' resource format*/
  790. struct VersRec {
  791.     NumVersion numericVersion;          /*encoded version number*/
  792.     short countryCode;                  /*country code from intl utilities*/
  793.     Str255 shortVersion;                /*version number string - worst case*/
  794.     Str255 reserved;                    /*longMessage string packed after shortVersion*/
  795. };
  796.  
  797. typedef VersRec *VersRecPtr, **VersRecHndl;
  798.  
  799.  
  800. #ifdef __cplusplus
  801. extern "C" {
  802. #endif
  803. pascal OSErr PBOpen(ParmBlkPtr paramBlock,Boolean async); 
  804. #pragma parameter __D0 PBOpenSync(__A0)
  805. pascal OSErr PBOpenSync(ParmBlkPtr paramBlock)
  806.     = 0xA000; 
  807. #pragma parameter __D0 PBOpenAsync(__A0)
  808. pascal OSErr PBOpenAsync(ParmBlkPtr paramBlock)
  809.     = 0xA400; 
  810. pascal OSErr PBClose(ParmBlkPtr paramBlock,Boolean async); 
  811. #pragma parameter __D0 PBCloseSync(__A0)
  812. pascal OSErr PBCloseSync(ParmBlkPtr paramBlock)
  813.     = 0xA001; 
  814. #pragma parameter __D0 PBCloseAsync(__A0)
  815. pascal OSErr PBCloseAsync(ParmBlkPtr paramBlock)
  816.     = 0xA401; 
  817. pascal OSErr PBRead(ParmBlkPtr paramBlock,Boolean async); 
  818. #pragma parameter __D0 PBReadSync(__A0)
  819. pascal OSErr PBReadSync(ParmBlkPtr paramBlock)
  820.     = 0xA002; 
  821. #pragma parameter __D0 PBReadAsync(__A0)
  822. pascal OSErr PBReadAsync(ParmBlkPtr paramBlock)
  823.     = 0xA402; 
  824. pascal OSErr PBWrite(ParmBlkPtr paramBlock,Boolean async); 
  825. #pragma parameter __D0 PBWriteSync(__A0)
  826. pascal OSErr PBWriteSync(ParmBlkPtr paramBlock)
  827.     = 0xA003; 
  828. #pragma parameter __D0 PBWriteAsync(__A0)
  829. pascal OSErr PBWriteAsync(ParmBlkPtr paramBlock)
  830.     = 0xA403; 
  831. pascal OSErr PBGetVInfo(ParmBlkPtr paramBlock,Boolean async); 
  832. #pragma parameter __D0 PBGetVInfoSync(__A0)
  833. pascal OSErr PBGetVInfoSync(ParmBlkPtr paramBlock)
  834.     = 0xA007; 
  835. #pragma parameter __D0 PBGetVInfoAsync(__A0)
  836. pascal OSErr PBGetVInfoAsync(ParmBlkPtr paramBlock)
  837.     = 0xA407; 
  838. pascal OSErr PBGetVol(ParmBlkPtr paramBlock,Boolean async); 
  839. #pragma parameter __D0 PBGetVolSync(__A0)
  840. pascal OSErr PBGetVolSync(ParmBlkPtr paramBlock)
  841.     = 0xA014; 
  842. #pragma parameter __D0 PBGetVolAsync(__A0)
  843. pascal OSErr PBGetVolAsync(ParmBlkPtr paramBlock)
  844.     = 0xA414; 
  845. pascal OSErr PBSetVol(ParmBlkPtr paramBlock,Boolean async); 
  846. #pragma parameter __D0 PBSetVolSync(__A0)
  847. pascal OSErr PBSetVolSync(ParmBlkPtr paramBlock)
  848.     = 0xA015; 
  849. #pragma parameter __D0 PBSetVolAsync(__A0)
  850. pascal OSErr PBSetVolAsync(ParmBlkPtr paramBlock)
  851.     = 0xA415; 
  852. pascal OSErr PBFlushVol(ParmBlkPtr paramBlock,Boolean async); 
  853. #pragma parameter __D0 PBFlushVolSync(__A0)
  854. pascal OSErr PBFlushVolSync(ParmBlkPtr paramBlock)
  855.     = 0xA013; 
  856. #pragma parameter __D0 PBFlushVolAsync(__A0)
  857. pascal OSErr PBFlushVolAsync(ParmBlkPtr paramBlock)
  858.     = 0xA413; 
  859. pascal OSErr PBCreate(ParmBlkPtr paramBlock,Boolean async); 
  860. #pragma parameter __D0 PBCreateSync(__A0)
  861. pascal OSErr PBCreateSync(ParmBlkPtr paramBlock)
  862.     = 0xA008; 
  863. #pragma parameter __D0 PBCreateAsync(__A0)
  864. pascal OSErr PBCreateAsync(ParmBlkPtr paramBlock)
  865.     = 0xA408; 
  866. pascal OSErr PBDelete(ParmBlkPtr paramBlock,Boolean async); 
  867. #pragma parameter __D0 PBDeleteSync(__A0)
  868. pascal OSErr PBDeleteSync(ParmBlkPtr paramBlock)
  869.     = 0xA009; 
  870. #pragma parameter __D0 PBDeleteAsync(__A0)
  871. pascal OSErr PBDeleteAsync(ParmBlkPtr paramBlock)
  872.     = 0xA409; 
  873. pascal OSErr PBOpenDF(ParmBlkPtr paramBlock,Boolean async); 
  874. #pragma parameter __D0 PBOpenDFSync(__A0)
  875. pascal OSErr PBOpenDFSync(ParmBlkPtr paramBlock)
  876.     = {0x701A,0xA060}; 
  877. #pragma parameter __D0 PBOpenDFAsync(__A0)
  878. pascal OSErr PBOpenDFAsync(ParmBlkPtr paramBlock)
  879.     = {0x701A,0xA460}; 
  880. pascal OSErr PBOpenRF(ParmBlkPtr paramBlock,Boolean async); 
  881. #pragma parameter __D0 PBOpenRFSync(__A0)
  882. pascal OSErr PBOpenRFSync(ParmBlkPtr paramBlock)
  883.     = 0xA00A; 
  884. #pragma parameter __D0 PBOpenRFAsync(__A0)
  885. pascal OSErr PBOpenRFAsync(ParmBlkPtr paramBlock)
  886.     = 0xA40A; 
  887. pascal OSErr PBRename(ParmBlkPtr paramBlock,Boolean async); 
  888. #pragma parameter __D0 PBRenameSync(__A0)
  889. pascal OSErr PBRenameSync(ParmBlkPtr paramBlock)
  890.     = 0xA00B; 
  891. #pragma parameter __D0 PBRenameAsync(__A0)
  892. pascal OSErr PBRenameAsync(ParmBlkPtr paramBlock)
  893.     = 0xA40B; 
  894. pascal OSErr PBGetFInfo(ParmBlkPtr paramBlock,Boolean async); 
  895. #pragma parameter __D0 PBGetFInfoSync(__A0)
  896. pascal OSErr PBGetFInfoSync(ParmBlkPtr paramBlock)
  897.     = 0xA00C; 
  898. #pragma parameter __D0 PBGetFInfoAsync(__A0)
  899. pascal OSErr PBGetFInfoAsync(ParmBlkPtr paramBlock)
  900.     = 0xA40C; 
  901. pascal OSErr PBSetFInfo(ParmBlkPtr paramBlock,Boolean async); 
  902. #pragma parameter __D0 PBSetFInfoSync(__A0)
  903. pascal OSErr PBSetFInfoSync(ParmBlkPtr paramBlock)
  904.     = 0xA00D; 
  905. #pragma parameter __D0 PBSetFInfoAsync(__A0)
  906. pascal OSErr PBSetFInfoAsync(ParmBlkPtr paramBlock)
  907.     = 0xA40D; 
  908. pascal OSErr PBSetFLock(ParmBlkPtr paramBlock,Boolean async); 
  909. #pragma parameter __D0 PBSetFLockSync(__A0)
  910. pascal OSErr PBSetFLockSync(ParmBlkPtr paramBlock)
  911.     = 0xA041; 
  912. #pragma parameter __D0 PBSetFLockAsync(__A0)
  913. pascal OSErr PBSetFLockAsync(ParmBlkPtr paramBlock)
  914.     = 0xA441; 
  915. pascal OSErr PBRstFLock(ParmBlkPtr paramBlock,Boolean async); 
  916. #pragma parameter __D0 PBRstFLockSync(__A0)
  917. pascal OSErr PBRstFLockSync(ParmBlkPtr paramBlock)
  918.     = 0xA042; 
  919. #pragma parameter __D0 PBRstFLockAsync(__A0)
  920. pascal OSErr PBRstFLockAsync(ParmBlkPtr paramBlock)
  921.     = 0xA442; 
  922. pascal OSErr PBSetFVers(ParmBlkPtr paramBlock,Boolean async); 
  923. #pragma parameter __D0 PBSetFVersSync(__A0)
  924. pascal OSErr PBSetFVersSync(ParmBlkPtr paramBlock)
  925.     = 0xA043; 
  926. #pragma parameter __D0 PBSetFVersAsync(__A0)
  927. pascal OSErr PBSetFVersAsync(ParmBlkPtr paramBlock)
  928.     = 0xA443; 
  929. pascal OSErr PBAllocate(ParmBlkPtr paramBlock,Boolean async); 
  930. #pragma parameter __D0 PBAllocateSync(__A0)
  931. pascal OSErr PBAllocateSync(ParmBlkPtr paramBlock)
  932.     = 0xA010; 
  933. #pragma parameter __D0 PBAllocateAsync(__A0)
  934. pascal OSErr PBAllocateAsync(ParmBlkPtr paramBlock)
  935.     = 0xA410; 
  936. pascal OSErr PBGetEOF(ParmBlkPtr paramBlock,Boolean async); 
  937. #pragma parameter __D0 PBGetEOFSync(__A0)
  938. pascal OSErr PBGetEOFSync(ParmBlkPtr paramBlock)
  939.     = 0xA011; 
  940. #pragma parameter __D0 PBGetEOFAsync(__A0)
  941. pascal OSErr PBGetEOFAsync(ParmBlkPtr paramBlock)
  942.     = 0xA411; 
  943. pascal OSErr PBSetEOF(ParmBlkPtr paramBlock,Boolean async); 
  944. #pragma parameter __D0 PBSetEOFSync(__A0)
  945. pascal OSErr PBSetEOFSync(ParmBlkPtr paramBlock)
  946.     = 0xA012; 
  947. #pragma parameter __D0 PBSetEOFAsync(__A0)
  948. pascal OSErr PBSetEOFAsync(ParmBlkPtr paramBlock)
  949.     = 0xA412; 
  950. pascal OSErr PBGetFPos(ParmBlkPtr paramBlock,Boolean async); 
  951. #pragma parameter __D0 PBGetFPosSync(__A0)
  952. pascal OSErr PBGetFPosSync(ParmBlkPtr paramBlock)
  953.     = 0xA018; 
  954. #pragma parameter __D0 PBGetFPosAsync(__A0)
  955. pascal OSErr PBGetFPosAsync(ParmBlkPtr paramBlock)
  956.     = 0xA418; 
  957. pascal OSErr PBSetFPos(ParmBlkPtr paramBlock,Boolean async); 
  958. #pragma parameter __D0 PBSetFPosSync(__A0)
  959. pascal OSErr PBSetFPosSync(ParmBlkPtr paramBlock)
  960.     = 0xA044; 
  961. #pragma parameter __D0 PBSetFPosAsync(__A0)
  962. pascal OSErr PBSetFPosAsync(ParmBlkPtr paramBlock)
  963.     = 0xA444; 
  964. pascal OSErr PBFlushFile(ParmBlkPtr paramBlock,Boolean async); 
  965. #pragma parameter __D0 PBFlushFileSync(__A0)
  966. pascal OSErr PBFlushFileSync(ParmBlkPtr paramBlock)
  967.     = 0xA045; 
  968. #pragma parameter __D0 PBFlushFileAsync(__A0)
  969. pascal OSErr PBFlushFileAsync(ParmBlkPtr paramBlock)
  970.     = 0xA445; 
  971. #pragma parameter __D0 PBMountVol(__A0)
  972. pascal OSErr PBMountVol(ParmBlkPtr paramBlock)
  973.     = 0xA00F; 
  974. #pragma parameter __D0 PBUnmountVol(__A0)
  975. pascal OSErr PBUnmountVol(ParmBlkPtr paramBlock)
  976.     = 0xA00E; 
  977. #pragma parameter __D0 PBEject(__A0)
  978. pascal OSErr PBEject(ParmBlkPtr paramBlock)
  979.     = 0xA017; 
  980. #pragma parameter __D0 PBOffLine(__A0)
  981. pascal OSErr PBOffLine(ParmBlkPtr paramBlock)
  982.     = 0xA035; 
  983. pascal OSErr PBCatSearch(CSParamPtr paramBlock,Boolean async); 
  984. #pragma parameter __D0 PBCatSearchSync(__A0)
  985. pascal OSErr PBCatSearchSync(CSParamPtr paramBlock)
  986.     = {0x7018,0xA260}; 
  987. #pragma parameter __D0 PBCatSearchAsync(__A0)
  988. pascal OSErr PBCatSearchAsync(CSParamPtr paramBlock)
  989.     = {0x7018,0xA660}; 
  990. pascal void AddDrive(short drvrRefNum,short drvNum,DrvQElPtr qEl); 
  991. pascal OSErr FSOpen(ConstStr255Param fileName,short vRefNum,short& refNum); 
  992. pascal OSErr OpenDF(ConstStr255Param fileName,short vRefNum,short& refNum); 
  993. OSErr fsopen(char *fileName,short vRefNum,short *refNum); 
  994. pascal OSErr FSClose(short refNum); 
  995. pascal OSErr FSRead(short refNum,long& count,void *buffPtr); 
  996. pascal OSErr FSWrite(short refNum,long& count,const void *buffPtr); 
  997. pascal OSErr GetVInfo(short drvNum,StringPtr volName,short& vRefNum,long& freeBytes); 
  998. OSErr getvinfo(short drvNum,char *volName,short *vRefNum,long *freeBytes); 
  999. pascal OSErr GetFInfo(ConstStr255Param fileName,short vRefNum,FInfo& fndrInfo); 
  1000. OSErr getfinfo(char *fileName,short vRefNum,FInfo *fndrInfo); 
  1001. pascal OSErr GetVol(StringPtr volName,short& vRefNum); 
  1002. OSErr getvol(char *volName,short *vRefNum); 
  1003. pascal OSErr SetVol(StringPtr volName,short vRefNum); 
  1004. OSErr setvol(char *volName,short vRefNum); 
  1005. pascal OSErr UnmountVol(StringPtr volName,short vRefNum); 
  1006. OSErr unmountvol(char *volName,short vRefNum); 
  1007. pascal OSErr Eject(StringPtr volName,short vRefNum); 
  1008. OSErr eject(char *volName,short vRefNum); 
  1009. pascal OSErr FlushVol(StringPtr volName,short vRefNum); 
  1010. OSErr flushvol(char *volName,short vRefNum); 
  1011. pascal OSErr Create(ConstStr255Param fileName,short vRefNum,OSType creator,
  1012.     OSType fileType); 
  1013. OSErr create(char *fileName,short vRefNum,OSType creator,OSType fileType); 
  1014. pascal OSErr FSDelete(ConstStr255Param fileName,short vRefNum); 
  1015. OSErr fsdelete(char *fileName,short vRefNum); 
  1016. pascal OSErr OpenRF(ConstStr255Param fileName,short vRefNum,short *refNum); 
  1017. OSErr openrf(char *fileName,short vRefNum,short *refNum); 
  1018. pascal OSErr Rename(ConstStr255Param oldName,short vRefNum,ConstStr255Param newName); 
  1019. OSErr fsrename(char *oldName,short vRefNum,char *newName); 
  1020. pascal OSErr SetFInfo(ConstStr255Param fileName,short vRefNum,const FInfo& fndrInfo); 
  1021. OSErr setfinfo(char *fileName,short vRefNum,FInfo *fndrInfo); 
  1022. pascal OSErr SetFLock(ConstStr255Param fileName,short vRefNum); 
  1023. OSErr setflock(char *fileName,short vRefNum); 
  1024. pascal OSErr RstFLock(ConstStr255Param fileName,short vRefNum); 
  1025. OSErr rstflock(char *fileName,short vRefNum); 
  1026. pascal OSErr Allocate(short refNum,long& count); 
  1027. pascal OSErr GetEOF(short refNum,long& logEOF); 
  1028. pascal OSErr SetEOF(short refNum,long logEOF); 
  1029. pascal OSErr GetFPos(short refNum,long& filePos); 
  1030. pascal OSErr SetFPos(short refNum,short posMode,long posOff); 
  1031. pascal OSErr GetVRefNum(short fileRefNum,short& vRefNum); 
  1032. pascal OSErr PBOpenWD(WDPBPtr paramBlock,Boolean async); 
  1033. #pragma parameter __D0 PBOpenWDSync(__A0)
  1034. pascal OSErr PBOpenWDSync(WDPBPtr paramBlock)
  1035.     = {0x7001,0xA260}; 
  1036. #pragma parameter __D0 PBOpenWDAsync(__A0)
  1037. pascal OSErr PBOpenWDAsync(WDPBPtr paramBlock)
  1038.     = {0x7001,0xA660}; 
  1039. pascal OSErr PBCloseWD(WDPBPtr paramBlock,Boolean async); 
  1040. #pragma parameter __D0 PBCloseWDSync(__A0)
  1041. pascal OSErr PBCloseWDSync(WDPBPtr paramBlock)
  1042.     = {0x7002,0xA260}; 
  1043. #pragma parameter __D0 PBCloseWDAsync(__A0)
  1044. pascal OSErr PBCloseWDAsync(WDPBPtr paramBlock)
  1045.     = {0x7002,0xA660}; 
  1046. pascal OSErr PBHSetVol(WDPBPtr paramBlock,Boolean async); 
  1047. #pragma parameter __D0 PBHSetVolSync(__A0)
  1048. pascal OSErr PBHSetVolSync(WDPBPtr paramBlock)
  1049.     = 0xA215; 
  1050. #pragma parameter __D0 PBHSetVolAsync(__A0)
  1051. pascal OSErr PBHSetVolAsync(WDPBPtr paramBlock)
  1052.     = 0xA615; 
  1053. pascal OSErr PBHGetVol(WDPBPtr paramBlock,Boolean async); 
  1054. #pragma parameter __D0 PBHGetVolSync(__A0)
  1055. pascal OSErr PBHGetVolSync(WDPBPtr paramBlock)
  1056.     = 0xA214; 
  1057. #pragma parameter __D0 PBHGetVolAsync(__A0)
  1058. pascal OSErr PBHGetVolAsync(WDPBPtr paramBlock)
  1059.     = 0xA614; 
  1060. pascal OSErr PBCatMove(CMovePBPtr paramBlock,Boolean async); 
  1061. #pragma parameter __D0 PBCatMoveSync(__A0)
  1062. pascal OSErr PBCatMoveSync(CMovePBPtr paramBlock)
  1063.     = {0x7005,0xA260}; 
  1064. #pragma parameter __D0 PBCatMoveAsync(__A0)
  1065. pascal OSErr PBCatMoveAsync(CMovePBPtr paramBlock)
  1066.     = {0x7005,0xA660}; 
  1067. pascal OSErr PBDirCreate(HParmBlkPtr paramBlock,Boolean async); 
  1068. #pragma parameter __D0 PBDirCreateSync(__A0)
  1069. pascal OSErr PBDirCreateSync(HParmBlkPtr paramBlock)
  1070.     = {0x7006,0xA260}; 
  1071. #pragma parameter __D0 PBDirCreateAsync(__A0)
  1072. pascal OSErr PBDirCreateAsync(HParmBlkPtr paramBlock)
  1073.     = {0x7006,0xA660}; 
  1074. pascal OSErr PBGetWDInfo(WDPBPtr paramBlock,Boolean async); 
  1075. #pragma parameter __D0 PBGetWDInfoSync(__A0)
  1076. pascal OSErr PBGetWDInfoSync(WDPBPtr paramBlock)
  1077.     = {0x7007,0xA260}; 
  1078. #pragma parameter __D0 PBGetWDInfoAsync(__A0)
  1079. pascal OSErr PBGetWDInfoAsync(WDPBPtr paramBlock)
  1080.     = {0x7007,0xA660}; 
  1081. pascal OSErr PBGetFCBInfo(FCBPBPtr paramBlock,Boolean async); 
  1082. #pragma parameter __D0 PBGetFCBInfoSync(__A0)
  1083. pascal OSErr PBGetFCBInfoSync(FCBPBPtr paramBlock)
  1084.     = {0x7008,0xA260}; 
  1085. #pragma parameter __D0 PBGetFCBInfoAsync(__A0)
  1086. pascal OSErr PBGetFCBInfoAsync(FCBPBPtr paramBlock)
  1087.     = {0x7008,0xA660}; 
  1088. pascal OSErr PBGetCatInfo(CInfoPBPtr paramBlock,Boolean async); 
  1089. #pragma parameter __D0 PBGetCatInfoSync(__A0)
  1090. pascal OSErr PBGetCatInfoSync(CInfoPBPtr paramBlock)
  1091.     = {0x7009,0xA260}; 
  1092. #pragma parameter __D0 PBGetCatInfoAsync(__A0)
  1093. pascal OSErr PBGetCatInfoAsync(CInfoPBPtr paramBlock)
  1094.     = {0x7009,0xA660}; 
  1095. pascal OSErr PBSetCatInfo(CInfoPBPtr paramBlock,Boolean async); 
  1096. #pragma parameter __D0 PBSetCatInfoSync(__A0)
  1097. pascal OSErr PBSetCatInfoSync(CInfoPBPtr paramBlock)
  1098.     = {0x700A,0xA260}; 
  1099. #pragma parameter __D0 PBSetCatInfoAsync(__A0)
  1100. pascal OSErr PBSetCatInfoAsync(CInfoPBPtr paramBlock)
  1101.     = {0x700A,0xA660}; 
  1102. pascal OSErr PBAllocContig(ParmBlkPtr paramBlock,Boolean async); 
  1103. #pragma parameter __D0 PBAllocContigSync(__A0)
  1104. pascal OSErr PBAllocContigSync(ParmBlkPtr paramBlock)
  1105.     = 0xA210; 
  1106. #pragma parameter __D0 PBAllocContigAsync(__A0)
  1107. pascal OSErr PBAllocContigAsync(ParmBlkPtr paramBlock)
  1108.     = 0xA610; 
  1109. pascal OSErr PBLockRange(ParmBlkPtr paramBlock,Boolean async); 
  1110. #pragma parameter __D0 PBLockRangeSync(__A0)
  1111. pascal OSErr PBLockRangeSync(ParmBlkPtr paramBlock)
  1112.     = {0x7010,0xA260}; 
  1113. #pragma parameter __D0 PBLockRangeAsync(__A0)
  1114. pascal OSErr PBLockRangeAsync(ParmBlkPtr paramBlock)
  1115.     = {0x7010,0xA660}; 
  1116. pascal OSErr PBUnlockRange(ParmBlkPtr paramBlock,Boolean async); 
  1117. #pragma parameter __D0 PBUnlockRangeSync(__A0)
  1118. pascal OSErr PBUnlockRangeSync(ParmBlkPtr paramBlock)
  1119.     = {0x7011,0xA260}; 
  1120. #pragma parameter __D0 PBUnlockRangeAsync(__A0)
  1121. pascal OSErr PBUnlockRangeAsync(ParmBlkPtr paramBlock)
  1122.     = {0x7011,0xA660}; 
  1123. pascal OSErr PBSetVInfo(HParmBlkPtr paramBlock,Boolean async); 
  1124. #pragma parameter __D0 PBSetVInfoSync(__A0)
  1125. pascal OSErr PBSetVInfoSync(HParmBlkPtr paramBlock)
  1126.     = {0x700B,0xA260}; 
  1127. #pragma parameter __D0 PBSetVInfoAsync(__A0)
  1128. pascal OSErr PBSetVInfoAsync(HParmBlkPtr paramBlock)
  1129.     = {0x700B,0xA660}; 
  1130. pascal OSErr PBHGetVInfo(HParmBlkPtr paramBlock,Boolean async); 
  1131. #pragma parameter __D0 PBHGetVInfoSync(__A0)
  1132. pascal OSErr PBHGetVInfoSync(HParmBlkPtr paramBlock)
  1133.     = 0xA207; 
  1134. #pragma parameter __D0 PBHGetVInfoAsync(__A0)
  1135. pascal OSErr PBHGetVInfoAsync(HParmBlkPtr paramBlock)
  1136.     = 0xA607; 
  1137. pascal OSErr PBHOpen(HParmBlkPtr paramBlock,Boolean async); 
  1138. #pragma parameter __D0 PBHOpenSync(__A0)
  1139. pascal OSErr PBHOpenSync(HParmBlkPtr paramBlock)
  1140.     = 0xA200; 
  1141. #pragma parameter __D0 PBHOpenAsync(__A0)
  1142. pascal OSErr PBHOpenAsync(HParmBlkPtr paramBlock)
  1143.     = 0xA600; 
  1144. pascal OSErr PBHOpenRF(HParmBlkPtr paramBlock,Boolean async); 
  1145. #pragma parameter __D0 PBHOpenRFSync(__A0)
  1146. pascal OSErr PBHOpenRFSync(HParmBlkPtr paramBlock)
  1147.     = 0xA20A; 
  1148. #pragma parameter __D0 PBHOpenRFAsync(__A0)
  1149. pascal OSErr PBHOpenRFAsync(HParmBlkPtr paramBlock)
  1150.     = 0xA60A; 
  1151. pascal OSErr PBHOpenDF(HParmBlkPtr paramBlock,Boolean async); 
  1152. #pragma parameter __D0 PBHOpenDFSync(__A0)
  1153. pascal OSErr PBHOpenDFSync(HParmBlkPtr paramBlock)
  1154.     = {0x701A,0xA260}; 
  1155. #pragma parameter __D0 PBHOpenDFAsync(__A0)
  1156. pascal OSErr PBHOpenDFAsync(HParmBlkPtr paramBlock)
  1157.     = {0x701A,0xA660}; 
  1158. pascal OSErr PBHCreate(HParmBlkPtr paramBlock,Boolean async); 
  1159. #pragma parameter __D0 PBHCreateSync(__A0)
  1160. pascal OSErr PBHCreateSync(HParmBlkPtr paramBlock)
  1161.     = 0xA208; 
  1162. #pragma parameter __D0 PBHCreateAsync(__A0)
  1163. pascal OSErr PBHCreateAsync(HParmBlkPtr paramBlock)
  1164.     = 0xA608; 
  1165. pascal OSErr PBHDelete(HParmBlkPtr paramBlock,Boolean async); 
  1166. #pragma parameter __D0 PBHDeleteSync(__A0)
  1167. pascal OSErr PBHDeleteSync(HParmBlkPtr paramBlock)
  1168.     = 0xA209; 
  1169. #pragma parameter __D0 PBHDeleteAsync(__A0)
  1170. pascal OSErr PBHDeleteAsync(HParmBlkPtr paramBlock)
  1171.     = 0xA609; 
  1172. pascal OSErr PBHRename(HParmBlkPtr paramBlock,Boolean async); 
  1173. #pragma parameter __D0 PBHRenameSync(__A0)
  1174. pascal OSErr PBHRenameSync(HParmBlkPtr paramBlock)
  1175.     = 0xA20B; 
  1176. #pragma parameter __D0 PBHRenameAsync(__A0)
  1177. pascal OSErr PBHRenameAsync(HParmBlkPtr paramBlock)
  1178.     = 0xA60B; 
  1179. pascal OSErr PBHRstFLock(HParmBlkPtr paramBlock,Boolean async); 
  1180. #pragma parameter __D0 PBHRstFLockSync(__A0)
  1181. pascal OSErr PBHRstFLockSync(HParmBlkPtr paramBlock)
  1182.     = 0xA242; 
  1183. #pragma parameter __D0 PBHRstFLockAsync(__A0)
  1184. pascal OSErr PBHRstFLockAsync(HParmBlkPtr paramBlock)
  1185.     = 0xA642; 
  1186. pascal OSErr PBHSetFLock(HParmBlkPtr paramBlock,Boolean async); 
  1187. #pragma parameter __D0 PBHSetFLockSync(__A0)
  1188. pascal OSErr PBHSetFLockSync(HParmBlkPtr paramBlock)
  1189.     = 0xA241; 
  1190. #pragma parameter __D0 PBHSetFLockAsync(__A0)
  1191. pascal OSErr PBHSetFLockAsync(HParmBlkPtr paramBlock)
  1192.     = 0xA641; 
  1193. pascal OSErr PBHGetFInfo(HParmBlkPtr paramBlock,Boolean async); 
  1194. #pragma parameter __D0 PBHGetFInfoSync(__A0)
  1195. pascal OSErr PBHGetFInfoSync(HParmBlkPtr paramBlock)
  1196.     = 0xA20C; 
  1197. #pragma parameter __D0 PBHGetFInfoAsync(__A0)
  1198. pascal OSErr PBHGetFInfoAsync(HParmBlkPtr paramBlock)
  1199.     = 0xA60C; 
  1200. pascal OSErr PBHSetFInfo(HParmBlkPtr paramBlock,Boolean async); 
  1201. #pragma parameter __D0 PBHSetFInfoSync(__A0)
  1202. pascal OSErr PBHSetFInfoSync(HParmBlkPtr paramBlock)
  1203.     = 0xA20D; 
  1204. #pragma parameter __D0 PBHSetFInfoAsync(__A0)
  1205. pascal OSErr PBHSetFInfoAsync(HParmBlkPtr paramBlock)
  1206.     = 0xA60D; 
  1207. pascal OSErr PBMakeFSSpec(HParmBlkPtr paramBlock,Boolean async); 
  1208. #pragma parameter __D0 PBMakeFSSpecSync(__A0)
  1209. pascal OSErr PBMakeFSSpecSync(HParmBlkPtr paramBlock)
  1210.     = {0x701B,0xA260}; 
  1211. #pragma parameter __D0 PBMakeFSSpecAsync(__A0)
  1212. pascal OSErr PBMakeFSSpecAsync(HParmBlkPtr paramBlock)
  1213.     = {0x701B,0xA660}; 
  1214. pascal void FInitQueue(void)
  1215.     = 0xA016; 
  1216. #define GetFSQHdr() ((QHdrPtr) 0x0360)
  1217. #define GetDrvQHdr() ((QHdrPtr) 0x0308)
  1218. #define GetVCBQHdr() ((QHdrPtr) 0x0356)
  1219. pascal OSErr HGetVol(StringPtr volName,short& vRefNum,long& dirID); 
  1220. pascal OSErr HSetVol(StringPtr volName,short vRefNum,long dirID); 
  1221. pascal OSErr HOpen(short vRefNum,long dirID,ConstStr255Param fileName,char permission,
  1222.     short& refNum); 
  1223. pascal OSErr HOpenDF(short vRefNum,long dirID,ConstStr255Param fileName,
  1224.     char permission,short& refNum); 
  1225. pascal OSErr HOpenRF(short vRefNum,long dirID,ConstStr255Param fileName,
  1226.     char permission,short& refNum); 
  1227. pascal OSErr AllocContig(short refNum,long& count); 
  1228. pascal OSErr HCreate(short vRefNum,long dirID,ConstStr255Param fileName,
  1229.     OSType creator,OSType fileType); 
  1230. pascal OSErr DirCreate(short vRefNum,long parentDirID,ConstStr255Param directoryName,
  1231.     long& createdDirID); 
  1232. pascal OSErr HDelete(short vRefNum,long dirID,ConstStr255Param fileName); 
  1233. pascal OSErr HGetFInfo(short vRefNum,long dirID,ConstStr255Param fileName,
  1234.     FInfo& fndrInfo); 
  1235. pascal OSErr HSetFInfo(short vRefNum,long dirID,ConstStr255Param fileName,
  1236.     const FInfo& fndrInfo); 
  1237. pascal OSErr HSetFLock(short vRefNum,long dirID,ConstStr255Param fileName); 
  1238. pascal OSErr HRstFLock(short vRefNum,long dirID,ConstStr255Param fileName); 
  1239. pascal OSErr HRename(short vRefNum,long dirID,ConstStr255Param oldName,
  1240.     ConstStr255Param newName); 
  1241. pascal OSErr CatMove(short vRefNum,long dirID,ConstStr255Param oldName,
  1242.     long newDirID,ConstStr255Param newName); 
  1243. pascal OSErr OpenWD(short vRefNum,long dirID,long procID,short& wdRefNum); 
  1244. pascal OSErr CloseWD(short wdRefNum); 
  1245. pascal OSErr GetWDInfo(short wdRefNum,short& vRefNum,long& dirID,long& procID); 
  1246. pascal OSErr PBHGetVolParms(HParmBlkPtr paramBlock,Boolean async); 
  1247. #pragma parameter __D0 PBHGetVolParmsSync(__A0)
  1248. pascal OSErr PBHGetVolParmsSync(HParmBlkPtr paramBlock)
  1249.     = {0x7030,0xA260}; 
  1250. #pragma parameter __D0 PBHGetVolParmsAsync(__A0)
  1251. pascal OSErr PBHGetVolParmsAsync(HParmBlkPtr paramBlock)
  1252.     = {0x7030,0xA660}; 
  1253. pascal OSErr PBHGetLogInInfo(HParmBlkPtr paramBlock,Boolean async); 
  1254. #pragma parameter __D0 PBHGetLogInInfoSync(__A0)
  1255. pascal OSErr PBHGetLogInInfoSync(HParmBlkPtr paramBlock)
  1256.     = {0x7031,0xA260}; 
  1257. #pragma parameter __D0 PBHGetLogInInfoAsync(__A0)
  1258. pascal OSErr PBHGetLogInInfoAsync(HParmBlkPtr paramBlock)
  1259.     = {0x7031,0xA660}; 
  1260. pascal OSErr PBHGetDirAccess(HParmBlkPtr paramBlock,Boolean async); 
  1261. #pragma parameter __D0 PBHGetDirAccessSync(__A0)
  1262. pascal OSErr PBHGetDirAccessSync(HParmBlkPtr paramBlock)
  1263.     = {0x7032,0xA260}; 
  1264. #pragma parameter __D0 PBHGetDirAccessAsync(__A0)
  1265. pascal OSErr PBHGetDirAccessAsync(HParmBlkPtr paramBlock)
  1266.     = {0x7032,0xA660}; 
  1267. pascal OSErr PBHSetDirAccess(HParmBlkPtr paramBlock,Boolean async); 
  1268. #pragma parameter __D0 PBHSetDirAccessSync(__A0)
  1269. pascal OSErr PBHSetDirAccessSync(HParmBlkPtr paramBlock)
  1270.     = {0x7033,0xA260}; 
  1271. #pragma parameter __D0 PBHSetDirAccessAsync(__A0)
  1272. pascal OSErr PBHSetDirAccessAsync(HParmBlkPtr paramBlock)
  1273.     = {0x7033,0xA660}; 
  1274. pascal OSErr PBHMapID(HParmBlkPtr paramBlock,Boolean async); 
  1275. #pragma parameter __D0 PBHMapIDSync(__A0)
  1276. pascal OSErr PBHMapIDSync(HParmBlkPtr paramBlock)
  1277.     = {0x7034,0xA260}; 
  1278. #pragma parameter __D0 PBHMapIDAsync(__A0)
  1279. pascal OSErr PBHMapIDAsync(HParmBlkPtr paramBlock)
  1280.     = {0x7034,0xA660}; 
  1281. pascal OSErr PBHMapName(HParmBlkPtr paramBlock,Boolean async); 
  1282. #pragma parameter __D0 PBHMapNameSync(__A0)
  1283. pascal OSErr PBHMapNameSync(HParmBlkPtr paramBlock)
  1284.     = {0x7035,0xA260}; 
  1285. #pragma parameter __D0 PBHMapNameAsync(__A0)
  1286. pascal OSErr PBHMapNameAsync(HParmBlkPtr paramBlock)
  1287.     = {0x7035,0xA660}; 
  1288. pascal OSErr PBHCopyFile(HParmBlkPtr paramBlock,Boolean async); 
  1289. #pragma parameter __D0 PBHCopyFileSync(__A0)
  1290. pascal OSErr PBHCopyFileSync(HParmBlkPtr paramBlock)
  1291.     = {0x7036,0xA260}; 
  1292. #pragma parameter __D0 PBHCopyFileAsync(__A0)
  1293. pascal OSErr PBHCopyFileAsync(HParmBlkPtr paramBlock)
  1294.     = {0x7036,0xA660}; 
  1295. pascal OSErr PBHMoveRename(HParmBlkPtr paramBlock,Boolean async); 
  1296. #pragma parameter __D0 PBHMoveRenameSync(__A0)
  1297. pascal OSErr PBHMoveRenameSync(HParmBlkPtr paramBlock)
  1298.     = {0x7037,0xA260}; 
  1299. #pragma parameter __D0 PBHMoveRenameAsync(__A0)
  1300. pascal OSErr PBHMoveRenameAsync(HParmBlkPtr paramBlock)
  1301.     = {0x7037,0xA660}; 
  1302. pascal OSErr PBHOpenDeny(HParmBlkPtr paramBlock,Boolean async); 
  1303. #pragma parameter __D0 PBHOpenDenySync(__A0)
  1304. pascal OSErr PBHOpenDenySync(HParmBlkPtr paramBlock)
  1305.     = {0x7038,0xA260}; 
  1306. #pragma parameter __D0 PBHOpenDenyAsync(__A0)
  1307. pascal OSErr PBHOpenDenyAsync(HParmBlkPtr paramBlock)
  1308.     = {0x7038,0xA660}; 
  1309. pascal OSErr PBHOpenRFDeny(HParmBlkPtr paramBlock,Boolean async); 
  1310. #pragma parameter __D0 PBHOpenRFDenySync(__A0)
  1311. pascal OSErr PBHOpenRFDenySync(HParmBlkPtr paramBlock)
  1312.     = {0x7039,0xA260}; 
  1313. #pragma parameter __D0 PBHOpenRFDenyAsync(__A0)
  1314. pascal OSErr PBHOpenRFDenyAsync(HParmBlkPtr paramBlock)
  1315.     = {0x7039,0xA660}; 
  1316. pascal OSErr PBExchangeFiles(HParmBlkPtr paramBlock,Boolean async); 
  1317. #pragma parameter __D0 PBExchangeFilesSync(__A0)
  1318. pascal OSErr PBExchangeFilesSync(HParmBlkPtr paramBlock)
  1319.     = {0x7017,0xA260}; 
  1320. #pragma parameter __D0 PBExchangeFilesAsync(__A0)
  1321. pascal OSErr PBExchangeFilesAsync(HParmBlkPtr paramBlock)
  1322.     = {0x7017,0xA660}; 
  1323. pascal OSErr PBCreateFileIDRef(HParmBlkPtr paramBlock,Boolean async); 
  1324. #pragma parameter __D0 PBCreateFileIDRefSync(__A0)
  1325. pascal OSErr PBCreateFileIDRefSync(HParmBlkPtr paramBlock)
  1326.     = {0x7014,0xA260}; 
  1327. #pragma parameter __D0 PBCreateFileIDRefAsync(__A0)
  1328. pascal OSErr PBCreateFileIDRefAsync(HParmBlkPtr paramBlock)
  1329.     = {0x7014,0xA660}; 
  1330. pascal OSErr PBResolveFileIDRef(HParmBlkPtr paramBlock,Boolean async); 
  1331. #pragma parameter __D0 PBResolveFileIDRefSync(__A0)
  1332. pascal OSErr PBResolveFileIDRefSync(HParmBlkPtr paramBlock)
  1333.     = {0x7016,0xA260}; 
  1334. #pragma parameter __D0 PBResolveFileIDRefAsync(__A0)
  1335. pascal OSErr PBResolveFileIDRefAsync(HParmBlkPtr paramBlock)
  1336.     = {0x7016,0xA660}; 
  1337. pascal OSErr PBDeleteFileIDRef(HParmBlkPtr paramBlock,Boolean async); 
  1338. #pragma parameter __D0 PBDeleteFileIDRefSync(__A0)
  1339. pascal OSErr PBDeleteFileIDRefSync(HParmBlkPtr paramBlock)
  1340.     = {0x7015,0xA260}; 
  1341. #pragma parameter __D0 PBDeleteFileIDRefAsync(__A0)
  1342. pascal OSErr PBDeleteFileIDRefAsync(HParmBlkPtr paramBlock)
  1343.     = {0x7015,0xA660}; 
  1344. pascal OSErr PBGetForeignPrivs(HParmBlkPtr paramBlock,Boolean async); 
  1345. #pragma parameter __D0 PBGetForeignPrivsSync(__A0)
  1346. pascal OSErr PBGetForeignPrivsSync(HParmBlkPtr paramBlock)
  1347.     = {0x7060,0xA260}; 
  1348. #pragma parameter __D0 PBGetForeignPrivsAsync(__A0)
  1349. pascal OSErr PBGetForeignPrivsAsync(HParmBlkPtr paramBlock)
  1350.     = {0x7060,0xA660}; 
  1351. pascal OSErr PBSetForeignPrivs(HParmBlkPtr paramBlock,Boolean async); 
  1352. #pragma parameter __D0 PBSetForeignPrivsSync(__A0)
  1353. pascal OSErr PBSetForeignPrivsSync(HParmBlkPtr paramBlock)
  1354.     = {0x7061,0xA260}; 
  1355. #pragma parameter __D0 PBSetForeignPrivsAsync(__A0)
  1356. pascal OSErr PBSetForeignPrivsAsync(HParmBlkPtr paramBlock)
  1357.     = {0x7061,0xA660}; 
  1358. /*  Desktop Manager  */
  1359. #pragma parameter __D0 PBDTGetPath(__A0)
  1360. pascal OSErr PBDTGetPath(DTPBPtr paramBlock)
  1361.     = {0x7020,0xA260}; 
  1362. #pragma parameter __D0 PBDTCloseDown(__A0)
  1363. pascal OSErr PBDTCloseDown(DTPBPtr paramBlock)
  1364.     = {0x7021,0xA260}; 
  1365. pascal OSErr PBDTAddIcon(DTPBPtr paramBlock,Boolean async); 
  1366. #pragma parameter __D0 PBDTAddIconSync(__A0)
  1367. pascal OSErr PBDTAddIconSync(DTPBPtr paramBlock)
  1368.     = {0x7022,0xA260}; 
  1369. #pragma parameter __D0 PBDTAddIconAsync(__A0)
  1370. pascal OSErr PBDTAddIconAsync(DTPBPtr paramBlock)
  1371.     = {0x7022,0xA660}; 
  1372. pascal OSErr PBDTGetIcon(DTPBPtr paramBlock,Boolean async); 
  1373. #pragma parameter __D0 PBDTGetIconSync(__A0)
  1374. pascal OSErr PBDTGetIconSync(DTPBPtr paramBlock)
  1375.     = {0x7023,0xA260}; 
  1376. #pragma parameter __D0 PBDTGetIconAsync(__A0)
  1377. pascal OSErr PBDTGetIconAsync(DTPBPtr paramBlock)
  1378.     = {0x7023,0xA660}; 
  1379. pascal OSErr PBDTGetIconInfo(DTPBPtr paramBlock,Boolean async); 
  1380. #pragma parameter __D0 PBDTGetIconInfoSync(__A0)
  1381. pascal OSErr PBDTGetIconInfoSync(DTPBPtr paramBlock)
  1382.     = {0x7024,0xA260}; 
  1383. #pragma parameter __D0 PBDTGetIconInfoAsync(__A0)
  1384. pascal OSErr PBDTGetIconInfoAsync(DTPBPtr paramBlock)
  1385.     = {0x7024,0xA660}; 
  1386. pascal OSErr PBDTAddAPPL(DTPBPtr paramBlock,Boolean async); 
  1387. #pragma parameter __D0 PBDTAddAPPLSync(__A0)
  1388. pascal OSErr PBDTAddAPPLSync(DTPBPtr paramBlock)
  1389.     = {0x7025,0xA260}; 
  1390. #pragma parameter __D0 PBDTAddAPPLAsync(__A0)
  1391. pascal OSErr PBDTAddAPPLAsync(DTPBPtr paramBlock)
  1392.     = {0x7025,0xA660}; 
  1393. pascal OSErr PBDTRemoveAPPL(DTPBPtr paramBlock,Boolean async); 
  1394. #pragma parameter __D0 PBDTRemoveAPPLSync(__A0)
  1395. pascal OSErr PBDTRemoveAPPLSync(DTPBPtr paramBlock)
  1396.     = {0x7026,0xA260}; 
  1397. #pragma parameter __D0 PBDTRemoveAPPLAsync(__A0)
  1398. pascal OSErr PBDTRemoveAPPLAsync(DTPBPtr paramBlock)
  1399.     = {0x7026,0xA660}; 
  1400. pascal OSErr PBDTGetAPPL(DTPBPtr paramBlock,Boolean async); 
  1401. #pragma parameter __D0 PBDTGetAPPLSync(__A0)
  1402. pascal OSErr PBDTGetAPPLSync(DTPBPtr paramBlock)
  1403.     = {0x7027,0xA260}; 
  1404. #pragma parameter __D0 PBDTGetAPPLAsync(__A0)
  1405. pascal OSErr PBDTGetAPPLAsync(DTPBPtr paramBlock)
  1406.     = {0x7027,0xA660}; 
  1407. pascal OSErr PBDTSetComment(DTPBPtr paramBlock,Boolean async); 
  1408. #pragma parameter __D0 PBDTSetCommentSync(__A0)
  1409. pascal OSErr PBDTSetCommentSync(DTPBPtr paramBlock)
  1410.     = {0x7028,0xA260}; 
  1411. #pragma parameter __D0 PBDTSetCommentAsync(__A0)
  1412. pascal OSErr PBDTSetCommentAsync(DTPBPtr paramBlock)
  1413.     = {0x7028,0xA660}; 
  1414. pascal OSErr PBDTRemoveComment(DTPBPtr paramBlock,Boolean async); 
  1415. #pragma parameter __D0 PBDTRemoveCommentSync(__A0)
  1416. pascal OSErr PBDTRemoveCommentSync(DTPBPtr paramBlock)
  1417.     = {0x7029,0xA260}; 
  1418. #pragma parameter __D0 PBDTRemoveCommentAsync(__A0)
  1419. pascal OSErr PBDTRemoveCommentAsync(DTPBPtr paramBlock)
  1420.     = {0x7029,0xA660}; 
  1421. pascal OSErr PBDTGetComment(DTPBPtr paramBlock,Boolean async); 
  1422. #pragma parameter __D0 PBDTGetCommentSync(__A0)
  1423. pascal OSErr PBDTGetCommentSync(DTPBPtr paramBlock)
  1424.     = {0x702A,0xA260}; 
  1425. #pragma parameter __D0 PBDTGetCommentAsync(__A0)
  1426. pascal OSErr PBDTGetCommentAsync(DTPBPtr paramBlock)
  1427.     = {0x702A,0xA660}; 
  1428. pascal OSErr PBDTFlush(DTPBPtr paramBlock,Boolean async); 
  1429. #pragma parameter __D0 PBDTFlushSync(__A0)
  1430. pascal OSErr PBDTFlushSync(DTPBPtr paramBlock)
  1431.     = {0x702B,0xA260}; 
  1432. #pragma parameter __D0 PBDTFlushAsync(__A0)
  1433. pascal OSErr PBDTFlushAsync(DTPBPtr paramBlock)
  1434.     = {0x702B,0xA660}; 
  1435. pascal OSErr PBDTReset(DTPBPtr paramBlock,Boolean async); 
  1436. #pragma parameter __D0 PBDTResetSync(__A0)
  1437. pascal OSErr PBDTResetSync(DTPBPtr paramBlock)
  1438.     = {0x702C,0xA260}; 
  1439. #pragma parameter __D0 PBDTResetAsync(__A0)
  1440. pascal OSErr PBDTResetAsync(DTPBPtr paramBlock)
  1441.     = {0x702C,0xA660}; 
  1442. pascal OSErr PBDTGetInfo(DTPBPtr paramBlock,Boolean async); 
  1443. #pragma parameter __D0 PBDTGetInfoSync(__A0)
  1444. pascal OSErr PBDTGetInfoSync(DTPBPtr paramBlock)
  1445.     = {0x702D,0xA260}; 
  1446. #pragma parameter __D0 PBDTGetInfoAsync(__A0)
  1447. pascal OSErr PBDTGetInfoAsync(DTPBPtr paramBlock)
  1448.     = {0x702D,0xA660}; 
  1449. #pragma parameter __D0 PBDTOpenInform(__A0)
  1450. pascal OSErr PBDTOpenInform(DTPBPtr paramBlock)
  1451.     = {0x702E,0xA060}; 
  1452. pascal OSErr PBDTDelete(DTPBPtr paramBlock,Boolean async); 
  1453. #pragma parameter __D0 PBDTDeleteSync(__A0)
  1454. pascal OSErr PBDTDeleteSync(DTPBPtr paramBlock)
  1455.     = {0x702F,0xA060}; 
  1456. #pragma parameter __D0 PBDTDeleteAsync(__A0)
  1457. pascal OSErr PBDTDeleteAsync(DTPBPtr paramBlock)
  1458.     = {0x702F,0xA460}; 
  1459. #pragma parameter __D0 PBGetVolMountInfoSize(__A0)
  1460. pascal OSErr PBGetVolMountInfoSize(ParmBlkPtr paramBlock)
  1461.     = {0x703F,0xA260}; 
  1462. #pragma parameter __D0 PBGetVolMountInfo(__A0)
  1463. pascal OSErr PBGetVolMountInfo(ParmBlkPtr paramBlock)
  1464.     = {0x7040,0xA260}; 
  1465. #pragma parameter __D0 PBVolumeMount(__A0)
  1466. pascal OSErr PBVolumeMount(ParmBlkPtr paramBlock)
  1467.     = {0x7041,0xA260}; 
  1468. /*  FSSpec Glue  */
  1469. pascal OSErr FSMakeFSSpec(short vRefNum,long dirID,ConstStr255Param fileName,
  1470.     FSSpecPtr spec)
  1471.     = {0x303C,0x0001,0xAA52}; 
  1472. pascal OSErr FSpOpenDF(const FSSpec& spec,char permission,short& refNum)
  1473.     = {0x303C,0x0002,0xAA52}; 
  1474. pascal OSErr FSpOpenRF(const FSSpec& spec,char permission,short& refNum)
  1475.     = {0x303C,0x0003,0xAA52}; 
  1476. pascal OSErr FSpCreate(const FSSpec& spec,OSType creator,OSType fileType,
  1477.     ScriptCode scriptTag)
  1478.     = {0x303C,0x0004,0xAA52}; 
  1479. pascal OSErr FSpDirCreate(const FSSpec& spec,ScriptCode scriptTag,long& createdDirID)
  1480.     = {0x303C,0x0005,0xAA52}; 
  1481. pascal OSErr FSpDelete(const FSSpec& spec)
  1482.     = {0x303C,0x0006,0xAA52}; 
  1483. pascal OSErr FSpGetFInfo(const FSSpec& spec,FInfo& fndrInfo)
  1484.     = {0x303C,0x0007,0xAA52}; 
  1485. pascal OSErr FSpSetFInfo(const FSSpec& spec,const FInfo& fndrInfo)
  1486.     = {0x303C,0x0008,0xAA52}; 
  1487. pascal OSErr FSpSetFLock(const FSSpec& spec)
  1488.     = {0x303C,0x0009,0xAA52}; 
  1489. pascal OSErr FSpRstFLock(const FSSpec& spec)
  1490.     = {0x303C,0x000A,0xAA52}; 
  1491. pascal OSErr FSpRename(const FSSpec& spec,ConstStr255Param newName)
  1492.     = {0x303C,0x000B,0xAA52}; 
  1493. pascal OSErr FSpCatMove(const FSSpec& source,const FSSpec& dest)
  1494.     = {0x303C,0x000C,0xAA52}; 
  1495. pascal OSErr FSpExchangeFiles(const FSSpec& source,const FSSpec& dest)
  1496.     = {0x303C,0x000F,0xAA52}; 
  1497. /* Obsoolete names for PBGetForeignPrivs and PBSetForeignPrivs */
  1498. pascal OSErr PBGetAltAccess(HParmBlkPtr paramBlock,Boolean async); 
  1499. #pragma parameter __D0 PBGetAltAccessSync(__A0)
  1500. pascal OSErr PBGetAltAccessSync(HParmBlkPtr paramBlock)
  1501.     = {0x7060,0xA060}; 
  1502. #pragma parameter __D0 PBGetAltAccessAsync(__A0)
  1503. pascal OSErr PBGetAltAccessAsync(HParmBlkPtr paramBlock)
  1504.     = {0x7060,0xA460}; 
  1505. pascal OSErr PBSetAltAccess(HParmBlkPtr paramBlock,Boolean async); 
  1506. #pragma parameter __D0 PBSetAltAccessSync(__A0)
  1507. pascal OSErr PBSetAltAccessSync(HParmBlkPtr paramBlock)
  1508.     = {0x7061,0xA060}; 
  1509. #pragma parameter __D0 PBSetAltAccessAsync(__A0)
  1510. pascal OSErr PBSetAltAccessAsync(HParmBlkPtr paramBlock)
  1511.     = {0x7061,0xA460}; 
  1512. #ifdef __cplusplus
  1513. }
  1514. #endif
  1515.  
  1516. #endif
  1517.